iT邦幫忙

0

廢肥菜比八開發PHP與前端會遇到的水坑_網頁會自己重新載入

php
  • 分享至 

  • xImage
  •  

想寫一些自己開發上遇到的各種小小問題
不是算什麼技術反而問題解決時,會覺得自己code寫的很白癡...
不確定iT這裡能不能發這樣的文章,姑且先試試看當個紀錄,請各位不要氣到拍我

今天PHP單純跳頁的(增刪修)通訊錄,要改成用Ajax
以下code簡短說明
index.php

<table>
  <tr>
    <th>編號</th>
    <th>姓名</th>
    <th>性別</th>
    <th>電話</th>
    <th>地址</th>
    <th>E-mail</th>
    <th>修改</th>
    <th>刪除</th>
  </tr>
  <?php foreach ($userlist as $key => $value) { ?>
  <tr>
  	<td><?php echo $value['id']; ?></td>
  	<td><?php echo $value['name']; ?></td>
  	<td><?php echo $sex = ($value['sex']==="1") ? "男" : "女" ; ?></td>
  	<td><?php echo $value['tel']; ?></td>
  	<td>
  		<a href="./form.php?do=update&id=<?php echo $value['id'];?>">
        <button>修改(跳頁)</button>
      </a>
    </td>
    <td>
    	<a href="../controller/controller.php?do=delete&id=<?php echo $value['id'];?>">
    		<button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
    	</a>
    </td>
  </tr>
  <?php } ?>
</table>

改完後

<td>
    <a href="./form.php?do=update&id=<?php echo $value['id'];?>">
      <button>修改(跳頁)</button>
    </a>
    </td>
<td>
    <a href="">
    	<button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
    </a>
</td>

PHP與javascript裡的Ajax不是這次的重點,但還是貼一些給看看
controller.PHP

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $id = htmlspecialchars($_GET['id']);
    if($_GET['do'] === 'delete'){
      $DatabaseAccessObject = new DatabaseAccessObject;
      $DatabaseAccessObject->deleteUser($id);
      header('Location: http://127.0.0.1/table/view/index.php');
	  exit;
    }
}

javascript
再補--

是的,這code就是這麼爛!!!!
因為再改成Ajax之前controller.php是沒問題的,所以當下就想因該是javascript寫出錯了...
就這樣檢查了2小時查不出問題!

錯誤描述
剛載入127.0.0.1/index.php時都沒問題,但按下刪除後,因為Ajax就是為了不重新刷網頁,所以刪除掉的ROW(就是的原素)要remove掉!但按下刪除後卻是直接重新load index.php

解決錯誤
聰明的網友一定都知道答案了!

<td>
  **<a href="">**
    <button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
  **</a>**
</td>

就是沒除乾淨的超連結tag啦!!
所以不用的tag要刪乾淨阿....浪費2小時的時間QQ


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言